package com.spsoft.vatoutinv.service.vmsenterpriseinfo;

import com.baomidou.mybatisplus.extension.service.IService;
import com.spsoft.core.model.Result;
import com.spsoft.core.model.bo.TokenUser;
import com.spsoft.core.model.leqidmz.param.BaseNsrRequestParams;
import com.spsoft.vatoutinv.entity.vmsenterpriseinfo.VmsEnterpriseInfo;
import com.spsoft.vatoutinv.model.vo.vmsenterpriseinfo.VmsEnterpriseInfoVO;

/**
 * <p>
 * 纳税人基本信息查询-企业基本信息、税务信息、财务信息;--主键序列 SEQ_VMS_ENTERPRISE_INFO 服务类
 * </p>
 *
 * @author wangy
 * @since 2023-11-22
 */
public interface VmsEnterpriseInfoService extends IService<VmsEnterpriseInfo> {

    /**
     * 根据部门获取纳税人基本信息
     *
     * @return 纳税人信息VO
     */
    Result<VmsEnterpriseInfoVO> getVmsEnterpriseInfo();

    /**
     * 调用乐启接口 获取纳税人基本信息
     */
    Result<Object> getVmsEnterpriseInfoByLq(BaseNsrRequestParams params, TokenUser tokenUser);

    /**
     * 获取纳税人识别号
     */
    String getNsrsbh();

    /**
     * 获取纳税人识别号
     */
    String getNsrsbh(String deptCode);

    /**
     * 获取纳税人名称
     */
    String getNsrmc();

    /**
     * 纳税人基本信息
     */
    VmsEnterpriseInfo getInfoByRedis(String deptCode);

    /**
     * 判断开票方纳税人状态非“正常”或“报验中”
     */
    void checkStatus(String deptCode, String type);

}
